// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:18

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   qd.java

package com.zelix;

import java.io.*;
import java.util.*;

// Referenced classes of package com.zelix:
//            kd, ie, td, bn, 
//            sn, wn, qy, jb, 
//            um

public abstract class qd extends kd
    implements ie
{

    int g;
    int h;
    Vector i;

    public qd(int j)
    {
        super(j);
    }

    qd(int j, jb jb, int k)
        throws IOException
    {
        super(j);
        h = k;
        g = n(k);
        jb.skip(g);
    }

    public final sn a(sn sn1, boolean flag, boolean flag1, um um)
    {
        wn awn[] = sn1.c();
        wn awn1[] = sn1.f();
        int j = awn.length;
        wn awn2[] = wn.a(j - 1);
        System.arraycopy(awn, 0, awn2, 0, j - 1);
        return new sn(awn2, awn1, sn1.e());
    }

    public final boolean b()
    {
        return false;
    }

    public final boolean a(int j, int k)
    {
        return j >= k;
    }

    public final boolean c()
    {
        return false;
    }

    public List p()
    {
        return i;
    }

    static int n(int j)
    {
        return (4 - (j + 1) % 4) % 4;
    }

    public String a()
    {
        return e();
    }

    public void a(Hashtable hashtable, qy qy1, Vector vector)
    {
        int j;
        int k;
        k = kd.e;
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        bn bn1 = null;
        if((bn1 = (bn)hashtable.get(i.elementAt(j))) == null)
        {
            bn1 = new bn();
            vector.addElement(bn1);
            hashtable.put(i.elementAt(j), bn1);
        }
        qy1.b(this, bn1);
        j++;
_L2:
        if(j >= i.size())
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public void a(Integer integer, td td1)
    {
        int j;
        int k;
        int l;
        l = kd.e;
        j = i.size();
        td1.a(true);
        k = 0;
        if(l == 0) goto _L2; else goto _L1
_L1:
        Object obj = i.elementAt(k);
        if((obj instanceof Integer) && ((Integer)obj).equals(integer))
            i.setElementAt(td1, k);
        k++;
_L2:
        if(k >= j)
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public void m(int j)
    {
        h = j;
        g = n(j);
    }

    public boolean o()
    {
        return false;
    }

    public void a(DataOutputStream dataoutputstream)
        throws IOException
    {
        int j;
        int k;
        k = kd.e;
        super.a(dataoutputstream);
        j = 0;
        if(k == 0) goto _L2; else goto _L1
_L1:
        dataoutputstream.writeByte(0);
        j++;
_L2:
        if(j >= g)
        {
            td td1 = (td)i.elementAt(i.size() - 1);
            dataoutputstream.writeInt(td1.q() - h);
            return;
        }
        if(true) goto _L1; else goto _L3
_L3:
    }
}